{$CLEO .cs}
{$USE CLEO+}

SCRIPT_NAME 'PTCPCK'

WHILE NOT IS_PLAYER_PLAYING 0
    WAIT 0
END

WAIT 1000
// ====================================================
// PetrolCan Pickups - AlvarynGTA
// ====================================================
//      Variables
CONST
    PICKUP_CREATE = 1
    PICKUP_DESTROY = 0
    
    PICKUP_AMMO = 200
END
INT pckpWeapon, gameSlot, mode, weaponTypeID, ammo, flagRestoreInGame = 0
//=========================================================

IF NOT READ_INT_FROM_INI_FILE "CLEO\PetrolCan.ini" "Weapon" "WeaponID" weaponTypeID
THEN weaponTypeID = 42
END
IF weaponTypeID <= -1
THEN weaponTypeID = 42
END

SET_SCRIPT_EVENT_SAVE_CONFIRMATION 1 @restore_pickups_for_save gameSlot

GOSUB @pickups_creation

////////////////////////////////////////////////////////////////////////////

:main_loop
IF flagRestoreInGame == 1
THEN
    flagRestoreInGame = 0
    GOSUB @pickups_creation
END
WAIT 5000
GOTO @main_loop

////////////////////////////////////////////////////////////////////////////
:pickups_creation
mode = PICKUP_CREATE
GOSUB @new_added_pickups
RETURN
//--------------------------------------------------------------------------
:new_added_pickups
// Petrol canister
ammo = PICKUP_AMMO
pckpWeapon = MakePickup(weaponTypeID, 15, ammo, 1382.82, 462.0449, 20.1237, mode)
pckpWeapon = MakePickup(weaponTypeID, 15, ammo, -2240.9382, -2561.4377, 32.0703, mode)
pckpWeapon = MakePickup(weaponTypeID, 15, ammo, -2044.9819, 149.0723, 28.8359, mode) //Doherty - San Fierro
pckpWeapon = MakePickup(weaponTypeID, 15, ammo, -2410.7944, 968.6989, 45.4609, mode)
pckpWeapon = MakePickup(weaponTypeID, 15, ammo, 2638.2859, 1100.7667, 10.961, mode)
pckpWeapon = MakePickup(weaponTypeID, 15, ammo, 655.7166, -565.0811, 16.3359, mode)
pckpWeapon = MakePickup(weaponTypeID, 15, ammo, -1612.1749, -2719.8418, 48.9453, mode)
pckpWeapon = MakePickup(weaponTypeID, 15, ammo, 1941.818, -1769.16, 13.6406, mode)
pckpWeapon = MakePickup(weaponTypeID, 15, ammo, 1003.6657, -935.1169, 42.1796, mode)
pckpWeapon = MakePickup(weaponTypeID, 15, ammo, -1680.4574, 417.8184, 7.1797, mode)
pckpWeapon = MakePickup(weaponTypeID, 15, ammo, -1466.1818, 1869.7701, 32.6328, mode)
pckpWeapon = MakePickup(weaponTypeID, 15, ammo, -1328.7329, 2685.9282, 50.4687, mode)
pckpWeapon = MakePickup(weaponTypeID, 15, ammo, -737.0638, 2746.6887, 47.2266, mode)
pckpWeapon = MakePickup(weaponTypeID, 15, ammo, 2207.8044, 2476.4817, 10.9952, mode)
pckpWeapon = MakePickup(weaponTypeID, 15, ammo, 2147.4436, 2739.2864, 10.8203, mode)
pckpWeapon = MakePickup(weaponTypeID, 15, ammo, 2110.5049, 914.8215, 10.961, mode)
pckpWeapon = MakePickup(weaponTypeID, 15, ammo, 1600.483, 2204.584, 11.061, mode)
pckpWeapon = MakePickup(weaponTypeID, 15, ammo, 625.1843, 1678.4696, 7.1875, mode)
pckpWeapon = MakePickup(weaponTypeID, 15, ammo, -84.7751, -1163.5204, 2.3359, mode)
pckpWeapon = -1
RETURN
////////////////////////////////////////////////////////////////////////////

:restore_pickups_for_save
// New Added Pickups Remove
mode = PICKUP_DESTROY
GOSUB @new_added_pickups

flagRestoreInGame = 1
RETURN_SCRIPT_EVENT

////////////////////////////////////////////////////////////////////////////
FUNCTION MakePickup(weaponTypeID: INT, type: INT, ammo: INT, X: FLOAT, Y: FLOAT, Z: FLOAT, makeType: INT): INT
    INT pckpWeapon = -1, modelID

    SWITCH makeType
    CASE PICKUP_CREATE // Destroy and Create
        IF pckpWeapon = GET_PICKUP_THIS_COORD X Y Z 1
        THEN REMOVE_PICKUP pckpWeapon
        END
        modelID = GET_WEAPONTYPE_MODEL weaponTypeID
        pckpWeapon = CREATE_PICKUP_WITH_AMMO modelID type ammo X Y Z
    CASE PICKUP_DESTROY // Only Destroy
        IF pckpWeapon = GET_PICKUP_THIS_COORD X Y Z 1
        THEN
            REMOVE_PICKUP pckpWeapon
            pckpWeapon = -1
        END
    END

    CLEO_RETURN 1 pckpWeapon
END
////////////////////////////////////////////////////////////////////////////